Matthias Clasen [Wed, 26 Aug 2020 20:20:34 +0000 (16:20 -0400)]
x11: Fix return value of get_device_state
We need to look a the position, not the child surface.
Matthias Clasen [Wed, 26 Aug 2020 20:09:14 +0000 (16:09 -0400)]
gdk: Drop the query_state vfunc
It is no longer used.
Matthias Clasen [Wed, 26 Aug 2020 20:06:11 +0000 (16:06 -0400)]
x11: Stop setting the query_state vfunc
Matthias Clasen [Wed, 26 Aug 2020 20:05:54 +0000 (16:05 -0400)]
win32: Stop using the query_state vfunc
Matthias Clasen [Wed, 26 Aug 2020 20:05:19 +0000 (16:05 -0400)]
macos: Stop setting the query_state vfunc
Matthias Clasen [Wed, 26 Aug 2020 20:04:25 +0000 (16:04 -0400)]
wayland: Stop using the query_state vfunc
Just call the backend implementation directly.
Matthias Clasen [Wed, 26 Aug 2020 20:03:31 +0000 (16:03 -0400)]
broadway: Stop using the query_state vfunc
Just call the backend implementation directly.
Matthias Clasen [Wed, 26 Aug 2020 19:38:02 +0000 (15:38 -0400)]
Drop _gdk_device_query_state
It is now unused.
Matthias Clasen [Wed, 26 Aug 2020 19:33:37 +0000 (15:33 -0400)]
macos: Stop using _gdk_device_query_state
Directly use the backend implementation.
Matthias Clasen [Wed, 26 Aug 2020 19:31:45 +0000 (15:31 -0400)]
win32: Stop using _gdk_device_query_state
Directly use the backend implementation.
Matthias Clasen [Wed, 26 Aug 2020 19:31:07 +0000 (15:31 -0400)]
x11: Stop using _gdk_device_query_state
Directly use the backend implementation.
Matthias Clasen [Wed, 26 Aug 2020 18:02:18 +0000 (18:02 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3090
See merge request GNOME/gtk!2485
Matthias Clasen [Wed, 26 Aug 2020 17:52:57 +0000 (17:52 +0000)]
Merge branch 'broadway-prune' into 'master'
broadway: Prune fully clipped render nodes
Closes #3086
See merge request GNOME/gtk!2487
Alexander Larsson [Wed, 26 Aug 2020 16:08:00 +0000 (18:08 +0200)]
broadway: Prune fully clipped render nodes
If some node is fully outside the clip region we don't send it to the daemon.
This helps a lot in how much data we send for scrolling viewports.
However, sending partial trees makes node reuse a bit more tricky. We
can't save for reuse any node that could possibly clip different depending on
the clip region, as that could be different next frame. So, unless the
node is fully contained in the current clip (and we thus know it is not
parial) we don't allow reusing that next frame.
This fixes #3086
Fran Dieguez [Wed, 26 Aug 2020 15:42:23 +0000 (15:42 +0000)]
Update Galician translation
Alexander Larsson [Wed, 26 Aug 2020 14:55:56 +0000 (16:55 +0200)]
broadway: Track the clip region in the renderer
If we know what can't possibly be visible we may can later decide to
not expose a node.
Matthias Clasen [Wed, 26 Aug 2020 13:01:48 +0000 (09:01 -0400)]
Make gdk_surface_get_device_position return a boolean
A year ago, we make this function not return the child
surface anymore. But the information whether the device
is actually over the surface is still useful, and we
should not loose it.
Timm Bäder [Wed, 26 Aug 2020 12:38:09 +0000 (12:38 +0000)]
Merge branch 'broadway-debug-nodes' into 'master'
Broadway: Fix handling of debug nodes
See merge request GNOME/gtk!2486
Alexander Larsson [Wed, 26 Aug 2020 12:01:00 +0000 (14:01 +0200)]
Broadway: Fix handling of debug nodes
The debug nodes have id BROADWAY_NODE_DEBUG, which happens to be "12".
So, don't hardcode the wrong number "14".
Matthias Clasen [Wed, 26 Aug 2020 11:26:01 +0000 (07:26 -0400)]
main: Avoid a crash with crossing event handling
We are reusing the GtkCrossingData struct for multiple
calls here, so we need to make sure that the targets
stay alive from beginning to end.
Fixes: #3090
Matthias Clasen [Wed, 26 Aug 2020 11:24:54 +0000 (07:24 -0400)]
widget: Avoid a crash in crossing event handling
We need to make sure that the crossing data stays
alive until we are done handling it, so take references
on all the widgets in it.
Emmanuele Bassi [Wed, 26 Aug 2020 11:20:03 +0000 (11:20 +0000)]
Merge branch 'broadway-alpha-colors' into 'master'
broadway: Correct handling of opaque colors
See merge request GNOME/gtk!2484
Alexander Larsson [Wed, 26 Aug 2020 10:18:28 +0000 (12:18 +0200)]
broadway: Correct handling of opaque colors
If alpha is 255, we use rgb() instead of rgba(), not if alpha is 0.
This makes the title bar gradient go from fully transparent to blue
rather than black to blue..
Matthias Clasen [Tue, 25 Aug 2020 20:53:02 +0000 (20:53 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
fontchooser: Populate the list incrementally
See merge request GNOME/gtk!2483
Emmanuele Bassi [Tue, 25 Aug 2020 20:34:18 +0000 (20:34 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!2480
Aurimas Černius [Tue, 25 Aug 2020 20:23:57 +0000 (23:23 +0300)]
Updated Lithuanian translation
Matthias Clasen [Tue, 25 Aug 2020 20:19:49 +0000 (20:19 +0000)]
Merge branch 'demo-double-border-fixes' into 'master'
gtk-demo: Avoid double borders
See merge request GNOME/gtk!2478
Matthias Clasen [Tue, 25 Aug 2020 20:18:47 +0000 (20:18 +0000)]
Merge branch 'inspector-double-border-fixes' into 'master'
inspector: Avoid double borders
See merge request GNOME/gtk!2477
Matthias Clasen [Tue, 25 Aug 2020 19:13:39 +0000 (15:13 -0400)]
fontchooser: Populate the list incrementally
By adding 20 fonts / frame to the font list, we can
get the font chooser dialog to show up much faster.
This change gets the font chooser up in 265ms here.
Matthias Clasen [Tue, 25 Aug 2020 18:29:27 +0000 (18:29 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Revert unintentional calendar change
See merge request GNOME/gtk!2482
Matthias Clasen [Tue, 25 Aug 2020 18:12:35 +0000 (14:12 -0400)]
Revert unintentional calendar change
This was unintentionally included in
c0efadc0f399d.
Emmanuele Bassi [Tue, 25 Aug 2020 15:34:04 +0000 (16:34 +0100)]
a11y: Simplify the ATContext::state-change signal
We cannot pass all the data we pass to the virtual function, because the
types are private, but the class and the signal are public API.
The signal is just a notification, so we can decouple the virtual
function (which stays the same, for internal types that implement the
ATContext API contract) from the signal.
Emmanuele Bassi [Tue, 25 Aug 2020 10:31:26 +0000 (11:31 +0100)]
Annotate GValue-variants methods of GtkAccessible
The variadic arguments methods cannot be used by language bindings,
which means we can let them use their names when calling the
GValue-based methods.
Emmanuele Bassi [Tue, 25 Aug 2020 10:30:46 +0000 (11:30 +0100)]
Properly document GtkAccessible:accessible-role
Use a gtk-doc stanza, instead of the GParamSpec strings.
Emmanuele Bassi [Wed, 5 Aug 2020 17:05:46 +0000 (18:05 +0100)]
a11y: Do not notify of empty state changes
If the ATContext state hasn't changed—for instance, if the accessible
attributes have been set to their default value, or have been set to the
same value—do not emit an accessible state change. State changes can be
arbitrarily expensive, so we want to ensure that they are meaningful.
Emmanuele Bassi [Wed, 5 Aug 2020 17:04:34 +0000 (18:04 +0100)]
a11y: Notify callers when an attributes set changes
We can use that information inside the ATContext.
Emmanuele Bassi [Wed, 5 Aug 2020 14:05:06 +0000 (15:05 +0100)]
a11y: GtkATContext.update_state() was renamed to update()
Emmanuele Bassi [Wed, 5 Aug 2020 14:03:00 +0000 (15:03 +0100)]
a11y: Allow bulk attribute update with the GValue API
Like we do for the varargs API.
Emmanuele Bassi [Tue, 25 Aug 2020 15:32:49 +0000 (16:32 +0100)]
a11y: Different value types cannot be equal
Bail out early, instead of going deep into the GtkAccessibleValue type
equal() implementation, where we expect both accessible values to have
the same type.
Matthias Clasen [Tue, 25 Aug 2020 12:52:36 +0000 (12:52 +0000)]
Merge branch 'adwaita-rounded-frames' into 'master'
Adwaita: Make frames rounded
See merge request GNOME/gtk!2476
nana-4 [Thu, 6 Aug 2020 15:54:46 +0000 (00:54 +0900)]
gtk-demo: Avoid double borders in the blendmodes demo
nana-4 [Thu, 6 Aug 2020 15:54:44 +0000 (00:54 +0900)]
gtk-demo: Avoid double borders in the fontrendering demo
Replace the frame with a separator.
nana-4 [Thu, 6 Aug 2020 15:54:41 +0000 (00:54 +0900)]
gtk-demo: Avoid double borders in the dnd demo
Replace the frame with a separator.
nana-4 [Thu, 6 Aug 2020 15:54:42 +0000 (00:54 +0900)]
gtk-demo: Avoid double borders in the panes demo
Using frames for the children of the panes looks bad.
nana-4 [Tue, 25 Aug 2020 05:24:50 +0000 (14:24 +0900)]
inspector: Avoid double borders in the resource tab
Replace the frames with a separator.
nana-4 [Fri, 7 Aug 2020 11:14:19 +0000 (20:14 +0900)]
inspector: Avoid double borders in the accessibility tab
Replace the frame with a separator.
nana-4 [Thu, 6 Aug 2020 15:54:40 +0000 (00:54 +0900)]
Adwaita: Make frames rounded
As per GNOME mockups.
Since GtkFrame now sets GTK_OVERFLOW_HIDDEN, we can round the frame
without corner overlapping.
This also adds some margin to the child label of GtkFrame to ensure it
will not be clipped by the rounded corners of the frame.
nana-4 [Tue, 25 Aug 2020 12:12:35 +0000 (21:12 +0900)]
Adwaita: Remove a shadow-type leftover
After commit
edae2a8dc500b7af29928e5eb6dfc305726ce6e0, frames always
draw frames. So, remove the unused frame.flat styling.
Emmanuele Bassi [Tue, 25 Aug 2020 11:18:35 +0000 (11:18 +0000)]
Merge branch 'wip/smcv/no-yelp' into 'master'
docs: Don't build Yelp manual for bundled gtk-doc subproject
See merge request GNOME/gtk!2475
Simon McVittie [Tue, 25 Aug 2020 09:42:40 +0000 (10:42 +0100)]
docs: Don't build Yelp manual for bundled gtk-doc subproject
This adds dependencies that would otherwise be unnecessary.
Signed-off-by: Simon McVittie <smcv@debian.org>
Matthias Clasen [Tue, 25 Aug 2020 02:37:57 +0000 (02:37 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #2979
See merge request GNOME/gtk!2474
Matthias Clasen [Mon, 24 Aug 2020 22:31:35 +0000 (18:31 -0400)]
text: Properly handle focus moving to a descendent
To discriminate between is-focus and contains-focus,
we need to use notify::is-focus. This makes sure
we don't get annoying warnings when the blink_cb
gets triggered on an unfocused entry.
Fixes: #2979
Matthias Clasen [Mon, 24 Aug 2020 22:31:08 +0000 (18:31 -0400)]
emojichooser: Grab focus on map
This is the right thing to do, since we have a visible
entry and want text input to go there.
Matthias Clasen [Mon, 24 Aug 2020 21:57:11 +0000 (21:57 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2473
Matthias Clasen [Mon, 24 Aug 2020 21:20:17 +0000 (17:20 -0400)]
colorchooser: Fix the add_palette api
When adding a custom palette, we need to arrange
for the custom section to stay at the bottom.
Maybe there should be a way to turn off custom
colors, too.
Matthias Clasen [Mon, 24 Aug 2020 21:19:36 +0000 (17:19 -0400)]
gtk-demo: Make the color picker demo less boring
Maybe the first ever use of the add_palette api.
Surprise, it doesn't work!
Bruce Cowan [Mon, 24 Aug 2020 18:39:24 +0000 (18:39 +0000)]
Update British English translation
Matthias Clasen [Mon, 24 Aug 2020 16:43:39 +0000 (16:43 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3081
See merge request GNOME/gtk!2472
Matthias Clasen [Mon, 24 Aug 2020 16:02:34 +0000 (12:02 -0400)]
Add reftests for center layout
Add a test that checks behavior with invisible children,
and another one that ensures we go back to box-like
layout if min-size is forced.
Matthias Clasen [Mon, 24 Aug 2020 15:52:08 +0000 (15:52 +0000)]
Merge branch 'unmapped-text' into 'master'
Unmapped text
See merge request GNOME/gtk!2466
Matthias Clasen [Mon, 24 Aug 2020 15:38:00 +0000 (11:38 -0400)]
Add a reftest for grid layouts
This tests that invisible children don't influence
the layout.
Matthias Clasen [Mon, 24 Aug 2020 14:58:18 +0000 (10:58 -0400)]
Add a reftest for box layouts
This tests that invisible children don't influence
the layout.
Matthias Clasen [Mon, 24 Aug 2020 03:15:57 +0000 (23:15 -0400)]
centerlayout: Some spacing-related fixes
Try to arrange for border-spacing to actually be
respected in the final layout.
Fixes: #3081
Matthias Clasen [Mon, 24 Aug 2020 13:31:06 +0000 (13:31 +0000)]
Merge branch 'wip/carlosg/start-spinbutton-start' into 'master'
gtkspinbutton: Group up/down button gestures with self
Closes #3085
See merge request GNOME/gtk!2471
Carlos Garnacho [Mon, 24 Aug 2020 12:45:42 +0000 (14:45 +0200)]
gtkspinbutton: Group up/down button gestures with self
We are adding click gestures on the up/down buttons, but can't let
the GtkButton built-in ones prevent ours to run.
As the saying goes, if you can't beat them, join them. Group the
spinbutton and GtkButton gestures together, so it's irrelevant which
gets called first and ends up winning.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3085
Daniel Mustieles [Mon, 24 Aug 2020 10:07:49 +0000 (12:07 +0200)]
Updated Spanish translation
Matthias Clasen [Mon, 24 Aug 2020 02:28:00 +0000 (02:28 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
docs: Some updates to GtkWidgetClass docs
See merge request GNOME/gtk!2470
Matthias Clasen [Mon, 24 Aug 2020 00:40:15 +0000 (20:40 -0400)]
docs: Some updates to GtkWidgetClass docs
Mention layout managers for vfuncs that are skipped
if you have one.
Goran Vidović [Sun, 23 Aug 2020 22:02:30 +0000 (22:02 +0000)]
Update Croatian translation
Goran Vidović [Sun, 23 Aug 2020 22:01:05 +0000 (22:01 +0000)]
Update Croatian translation
Rafael Fontenelle [Sun, 23 Aug 2020 21:52:38 +0000 (21:52 +0000)]
Update Brazilian Portuguese translation
Matthias Clasen [Sun, 23 Aug 2020 19:12:57 +0000 (15:12 -0400)]
text: Don't compute invisible char needlessly
There is no real reason to do expensive text layout
operations unless we need the invisible char because
the text's visibilty is FALSE.
Matthias Clasen [Sun, 23 Aug 2020 19:09:45 +0000 (15:09 -0400)]
text: Defer most recomputation until we're mapped
It doesn't make sense to update scroll positions or
im cursor locations while we're unmapped, and doing
so causes us to do expensive text measuring.
Matthias Clasen [Sun, 23 Aug 2020 21:36:07 +0000 (21:36 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2464
Matthias Clasen [Sun, 23 Aug 2020 21:07:37 +0000 (17:07 -0400)]
widget: Queue a draw when we need to
The code in gtk_widget_real_css_changed assumes that
queue_resize > queue_allocate > queue_draw, but the
second one is not really true. These days, we happily
keep reusing the same render node even when the child
allocation is changed.
So, if a css change has flags that tell us we should
redraw, we need to queue a draw, otherwise we might
end up reusing an outdated render node.
This fixes spinners staying visible when they stop
spinning, despite the theme setting their opacity
to 0.
Matthias Clasen [Sun, 23 Aug 2020 20:14:16 +0000 (16:14 -0400)]
Cosmetics
gtk_css_style_change_affects takes flags for a reason,
no need to call it multiple times.
Matthias Clasen [Fri, 21 Aug 2020 23:36:17 +0000 (19:36 -0400)]
build: Start using meson feature options
Use feature options for things that are optional features,
update the docs.
Visible changes here is that the 'print-backends' option
got renamed to 'print' to go better with 'media', and the
'tracker3' option got renamed to 'tracker'.
For options that have been changed into features, the
syntax now is -Dfeature=enabled or -Dfeature=disabled
or -Dfeature=auto.
Matthias Clasen [Sun, 23 Aug 2020 15:59:41 +0000 (11:59 -0400)]
Fix a leak in the font chooser widget
Contrary to what you may expect, pango_attr_font_desc_new()
is not transfer full, it makes a copy of the font description.
Matthias Clasen [Sun, 23 Aug 2020 16:26:35 +0000 (16:26 +0000)]
Merge branch 'fix_widget_factory_ui' into 'master'
fix position of radiobutton1
See merge request GNOME/gtk!2463
Ahmed Eldemery [Sun, 23 Aug 2020 15:39:17 +0000 (17:39 +0200)]
fix position of radiobutton1
Boyuan Yang [Sun, 23 Aug 2020 15:04:45 +0000 (15:04 +0000)]
Update Chinese (China) translation
Goran Vidović [Sun, 23 Aug 2020 11:14:23 +0000 (11:14 +0000)]
Update Croatian translation
Emin Tufan Çetin [Sat, 22 Aug 2020 21:26:01 +0000 (21:26 +0000)]
Update Turkish translation
Boyuan Yang [Sat, 22 Aug 2020 20:18:25 +0000 (20:18 +0000)]
Update Chinese (China) translation
Yuri Chornoivan [Sat, 22 Aug 2020 16:30:41 +0000 (16:30 +0000)]
Update Ukrainian translation
Jakub Steiner [Mon, 17 Aug 2020 08:00:29 +0000 (10:00 +0200)]
Adwaita: error labels insensitive & backdrop states
- address colored labels for the two states
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063#note_891618
Matthias Clasen [Sat, 22 Aug 2020 14:09:35 +0000 (14:09 +0000)]
Merge branch 'remove-unnecessary-frames' into 'master'
Remove unnecessary frames from some widgets
See merge request GNOME/gtk!2462
Andika Triwidada [Sat, 22 Aug 2020 13:19:15 +0000 (13:19 +0000)]
Update Indonesian translation
Piotr Drąg [Sat, 22 Aug 2020 13:17:37 +0000 (15:17 +0200)]
Update Polish translation
Piotr Drąg [Sat, 22 Aug 2020 11:48:19 +0000 (13:48 +0200)]
Update POTFILES.in and POTFILES.skip
nana-4 [Sat, 22 Aug 2020 00:30:28 +0000 (09:30 +0900)]
viewport: Remove unused frame
We've always removed this with Adwaita.
nana-4 [Sat, 22 Aug 2020 00:23:52 +0000 (09:23 +0900)]
placessidebar: Remove unused frame
We've always removed this with Adwaita.
nana-4 [Sat, 22 Aug 2020 00:18:31 +0000 (09:18 +0900)]
entrycompletion: Remove unnecessary frame
The popover already has a border as a frame. Don't create double
borders.
Matthias Clasen [Fri, 21 Aug 2020 23:58:09 +0000 (23:58 +0000)]
Merge branch 'new-sysprof' into 'master'
Port profiling to sysprof-collector api
See merge request GNOME/gtk!2457
Matthias Clasen [Fri, 21 Aug 2020 22:51:48 +0000 (18:51 -0400)]
Rename the profiler option
We don't support any profilers other than sysprof,
so name the option accordingly. While we are at it,
change it to a meson feature option, so
-Dprofiler=true becomes -Dsysprof=enabled
Matthias Clasen [Fri, 21 Aug 2020 22:36:45 +0000 (22:36 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2461
Matthias Clasen [Fri, 21 Aug 2020 22:28:29 +0000 (18:28 -0400)]
Alterative sysprof build support
Don't link libgtk against libsysprof. We only
need that for the test-performance binary.
Matthias Clasen [Fri, 21 Aug 2020 21:45:00 +0000 (17:45 -0400)]
ci: Use depth=1 for all subprojects
This helps reduce bandwidth requirements for ci.
Matthias Clasen [Fri, 21 Aug 2020 21:40:36 +0000 (17:40 -0400)]
inhibit: Pass valid arguments when Inhibiting
When we pass "" as reason, gnome-session responds
with a "Reason not specified" error. So, send
"Reason not specified" instead. Its true.
Christian Hergert [Fri, 21 Aug 2020 20:49:14 +0000 (13:49 -0700)]
testsuite: use SysprofProfiler for profiling
Instead of using sysprof-cli to profile subprocesses, this uses
libsysprof's SysprofProfiler directly so that we can avoid an indirect
subprocess as well as disabling the polkit nag.
To do this, we have to link against libsysprof instead of
libsysprof-capture. This is limited to the -Dbuild-tests=true and
-Dprofiler=true case.